Technical Field
Embodiments described herein are related to the field of integrated circuits, and more particularly, to reading register files and other types of storage circuits.
Description of the Related Art
Many integrated circuits (ICs) include one or more on-chip memories. One type of memory implemented on certain types of ICs is known as a circular queue (also known as a circular buffer). A circular queue is a memory that is effectively connected end-to-end, with write and read pointers that advance as data is written and read, respectively. The write pointer may write (and overwrite) storage locations in a sequential fashion, writing to one location and then advancing to the next. Similarly, the read pointer may also read storage locations in a sequential fashion, reading one location and then advancing.
Circular queues have a large number of applications. For example, circular queues are widely used in multimedia applications that utilize streaming data. In processors, circular queues may be used to implement load/store units, reservation stations, schedulers and so on. In general, circular queues may be implemented in a wide variety of applications in which data is to be buffered and read out in a sequential manner.